var centerTabs;
var tabsMenu;
$(function(){
	jQuery('#menuList').tree({
		url:'/menu/_',
		method:"get",
		state: 'closed',
        onClick: function(node){
//        	var url = node.url;
        	addTab(node);
    	}
	});
	
	centerTabs = $('#centerTabs').tabs({
		fit : true,
		border : false,
		onContextMenu : function(e, title) {
			e.preventDefault();
			tabsMenu.menu('show', {
				left : e.pageX,
				top : e.pageY
			}).data('tabTitle', title);
		}
	});
	
	tabsMenu = $('#tabsMenu').menu({
		onClick : function(item) {
			var curTabTitle = $(this).data('tabTitle');
			var type = $(item.target).attr('type');
			if (type === 'refresh') {
				refreshTab(curTabTitle);
				return;
			}
			if (type === 'close') {
				var t = centerTabs.tabs('getTab', curTabTitle);
				if (t.panel('options').closable) {
					centerTabs.tabs('close', curTabTitle);
				}
				return;
			}

			var allTabs = centerTabs.tabs('tabs');
			var closeTabsTitle = [];

			$.each(allTabs, function() {
				var opt = $(this).panel('options');
				if (opt.closable && opt.title != curTabTitle && type === 'closeOther') {
					closeTabsTitle.push(opt.title);
				} else if (opt.closable && type === 'closeAll') {
					closeTabsTitle.push(opt.title);
				}
			});
			for ( var i = 0; i < closeTabsTitle.length; i++) {
				centerTabs.tabs('close', closeTabsTitle[i]);
			}
		}
	});
});

function addTab(node) {
	if (centerTabs.tabs('exists', node.text)) {
		centerTabs.tabs('select', node.text);
	} else {
		if (node.url && node.url.length > 0) {
//				if (node.attributes.url.indexOf('!druid.action') == -1) {/*数据源监控页面不需要开启等待提示*/
//					$.messager.progress({
//						text : '页面加载中....',
//						interval : 100
//					});
//					window.setTimeout(function() {
//						try {
//							$.messager.progress('close');
//						} catch (e) {
//						}
//					}, 5000);
//				}
			centerTabs.tabs('add', {
				title : node.text,
				closable : true,
				iconCls : node.iconCls,
				content : '<iframe src="'+node.url+'" frameborder="0" style="border:0;width:100%;height:99.4%;"></iframe>',
				tools : [ {
					iconCls : 'icon-mini-refresh',
					handler : function() {
						refreshTab(node.text);
					}
				} ]
			});
		} else {
			centerTabs.tabs('add', {
				title : node.text,
				closable : true,
				iconCls : node.iconCls,
				content : '<iframe src="error/err.jsp" frameborder="0" style="border:0;width:100%;height:99.4%;"></iframe>',
				tools : [ {
					iconCls : 'icon-mini-refresh',
					handler : function() {
						refreshTab(node.text);
					}
				} ]
			});
		}
	}
}
		